home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / SourceCode / GameKit / Examples / PacMan / MonsterMovement.h < prev    next >
Text File  |  1995-06-12  |  6KB  |  126 lines

  1. // MonsterMovement.h
  2. //
  3. // static data arrays that tell the monsters how to move.
  4. // they are used by various methods in the Monster class.
  5.  
  6.     static intm fxvec[16] = {
  7.         {  0,  0,  0,  0,  0,  0,  0,  0 },        // no way to go
  8.         {  2,  2,  2,  2,  2,  2,  2,  2 },        // right only
  9.         { -2, -2, -2, -2, -2, -2, -2, -2 },        // left only
  10.         { -2,  2,  2, -2,  2, -2, -2,  2 },        // left or right
  11.         {  0,  0,  0,  0,  0,  0,  0,  0 },        // down only
  12.         {  0,  0,  0,  0,  2,  2,  2,  2 },        // down or right
  13.         { -2,  0,  0, -2,  0, -2, -2, -2 },        // down or left
  14.         { -2,  0,  0, -2,  2, -2, -2,  2 },        // down, left, or right
  15.         {  0,  0,  0,  0,  0,  0,  0,  0 },        // up only
  16.         {  2,  2,  2,  0,  2,  0,  0,  0 },        // up or right
  17.         { -2, -2, -2, -2,  0, -2,  0,  0 },        // up or left
  18.         { -2, -2,  2, -2,  2,  0,  0,  2 },        // up, left, or right
  19.         {  0,  0,  0,  0,  0,  0,  0,  0 },        // up or down
  20.         {  0,  0,  2,  0,  2,  0,  0,  2 },        // up, down, or right
  21.         { -2,  0,  0, -2,  0,  0,  0,  0 },        // up, down, or left
  22.         { -2,  0,  0, -2,  2,  0,  0,  2 } };    // any which way
  23.  
  24.     static intm fyvec[16] = {
  25.         {  0,  0,  0,  0,  0,  0,  0,  0 },        // no way to go
  26.         {  0,  0,  0,  0,  0,  0,  0,  0 },        // right only
  27.         {  0,  0,  0,  0,  0,  0,  0,  0 },        // left only
  28.         {  0,  0,  0,  0,  0,  0,  0,  0 },        // left or right
  29.         { -2, -2, -2, -2, -2, -2, -2, -2 },        // down only
  30.         { -2, -2, -2, -2,  0,  0,  0,  0 },        // down or right
  31.         {  0, -2, -2,  0, -2,  0,  0,  0 },        // down or left
  32.         {  0, -2, -2,  0,  0,  0,  0,  0 },        // down, left, or right
  33.         {  2,  2,  2,  2,  2,  2,  2,  2 },        // up only
  34.         {  0,  0,  0,  2,  0,  2,  2,  2 },        // up or right
  35.         {  0,  0,  0,  0,  2,  0,  2,  2 },        // up or left
  36.         {  0,  0,  0,  0,  0,  2,  2,  0 },        // up, left, or right
  37.         { -2, -2, -2,  2, -2,  2,  2,  2 },        // up or down
  38.         { -2, -2,  0, -2,  0,  2,  2,  0 },        // up, down, or right
  39.         {  0, -2, -2,  0,  2,  2,  2,  2 },        // up, down, or left
  40.         {  0, -2,  2,  0,  0, -2,  2,  0 } };    // any which way
  41.  
  42.     static intm rxvec[16] = {
  43.         {  0,  0,  0,  0,  0,  0,  0,  0 },        // no way to go
  44.         {  1,  1,  1,  1,  1,  1,  1,  1 },        // right only
  45.         { -1, -1, -1, -1, -1, -1, -1, -1 },        // left only
  46.         {  1, -1, -1,  1, -1,  1,  1, -1 },        // left or right
  47.         {  0,  0,  0,  0,  0,  0,  0,  0 },        // down only
  48.         {  1,  1,  0,  0,  0,  0,  1,  0 },        // down or right
  49.         {  0, -1, -1,  0,  0,  0, -1, -1 },        // down or left
  50.         {  1,  1, -1,  0,  0,  1,  1, -1 },        // down, left, or right
  51.         {  0,  0,  0,  0,  0,  0,  0,  0 },        // up only
  52.         {  1,  1,  0,  0,  0,  1,  1,  0 },        // up or right
  53.         {  0, -1, -1,  0,  0,  0, -1, -1 },        // up or left
  54.         {  1, -1, -1,  0,  0,  0, -1, -1 },        // up, left, or right
  55.         {  0,  0,  0,  0,  0,  0,  0,  0 },        // up or down
  56.         {  0,  1,  0,  0,  0,  1,  1,  0 },        // up, down, or right
  57.         {  0, -1, -1,  0,  0,  0, -1, -1 },        // up, down, or left
  58.         {  1, -1,  0,  0,  0,  0,  1, -1 } };    // any which way
  59.  
  60.    static intm ryvec[16] = {
  61.         {  0,  0,  0,  0,  0,  0,  0,  0 },        // no way to go
  62.         {  0,  0,  0,  0,  0,  0,  0,  0 },        // right only
  63.         {  0,  0,  0,  0,  0,  0,  0,  0 },        // left only
  64.         {  0,  0,  0,  0,  0,  0,  0,  0 },        // left or right
  65.         { -1, -1, -1, -1, -1, -1, -1, -1 },        // down only
  66.         {  0,  0, -1, -1, -1, -1,  0, -1 },        // down or right
  67.         { -1,  0,  0, -1, -1, -1,  0,  0 },        // down or left
  68.         {  0,  0,  0, -1, -1,  0,  0,  0 },        // down, left, or right
  69.         {  1,  1,  1,  1,  1,  1,  1,  1 },        // up only
  70.         {  0,  0,  1,  1,  1,  0,  0,  1 },        // up or right
  71.         {  1,  0,  0,  1,  1,  1,  0,  0 },        // up or left
  72.         {  0,  0,  0,  1,  1,  1,  0,  0 },        // up, left, or right
  73.         {  1,  1,  1,  1, -1, -1, -1, -1 },        // up or down
  74.         {  1,  0,  1,  1, -1,  0,  0, -1 },        // up, down, or right
  75.         {  1,  0,  0, -1,  1, -1,  0,  0 },        // up, down, or left
  76.         {  0,  0,  1,  1, -1, -1,  0,  0 } };    // any which way
  77.  
  78.     static intm pxvec[16] = {
  79.         {  0,  0,  0,  0,  0,  0,  0,  0 },        // no way to go
  80.         {  4,  4,  4,  4,  4,  4,  4,  4 },        // right only
  81.         { -4, -4, -4, -4, -4, -4, -4, -4 },        // left only
  82.         { -4,  4,  4, -4,  4, -4, -4,  4 },        // left or right
  83.         {  0,  0,  0,  0,  0,  0,  0,  0 },        // down only
  84.         {  0,  0,  0,  0,  4,  4,  4,  4 },        // down or right
  85.         {  0,  0,  0, -4,  0, -4, -4, -4 },        // down or left
  86.         { -4,  0,  0, -4,  4, -4, -4,  4 },        // down, left, or right
  87.         {  0,  0,  0,  0,  0,  0,  0,  0 },        // up only
  88.         {  0,  4,  4,  0,  4,  0,  0,  0 },        // up or right
  89.         { -4, -4, -4, -4,  0, -4,  0,  0 },        // up or left
  90.         { -4, -4,  4, -4,  4,  0,  0,  4 },        // up, left, or right
  91.         {  0,  0,  0,  0,  0,  0,  0,  0 },        // up or down
  92.         {  0,  0,  4,  0,  4,  0,  0,  4 },        // up, down, or right
  93.         { -4,  0,  0, -4,  0, -4,  0,  0 },        // up, down, or left
  94.         {  0,  0,  4, -4,  4, -4,  0,  0 } };    // any which way
  95.  
  96.     static intm pyvec[16] = {
  97.         {  0,  0,  0,  0,  0,  0,  0,  0 },        // no way to go
  98.         {  0,  0,  0,  0,  0,  0,  0,  0 },        // right only
  99.         {  0,  0,  0,  0,  0,  0,  0,  0 },        // left only
  100.         {  0,  0,  0,  0,  0,  0,  0,  0 },        // left or right
  101.         { -4, -4, -4, -4, -4, -4, -4, -4 },        // down only
  102.         { -4, -4, -4, -4,  0,  0,  0,  0 },        // down or right
  103.         { -4, -4, -4,  0, -4,  0,  0,  0 },        // down or left
  104.         {  0, -4, -4,  0,  0,  0,  0,  0 },        // down, left, or right
  105.         {  4,  4,  4,  4,  4,  4,  4,  4 },        // up only
  106.         {  4,  0,  0,  4,  0,  4,  4,  4 },        // up or right
  107.         {  0,  0,  0,  0,  4,  0,  4,  4 },        // up or left
  108.         {  0,  0,  0,  0,  0,  4,  4,  0 },        // up, left, or right
  109.         { -4, -4, -4,  4, -4,  4,  4,  4 },        // up or down
  110.         { -4, -4,  0, -4,  0,  4,  4,  0 },        // up, down, or right
  111.         { -4, -4, -4,  0,  4,  0,  4,  4 },        // up, down, or left
  112.         { -4, -4,  0,  0,  0,  0,  4,  4 } };    // any which way
  113.  
  114.     static intm find[3] = { { 0, 1, 2 }, { 3, 3, 4 }, { 5, 6, 7 } };
  115.  
  116. // power dot behavior
  117.     static int flash_ticks[] = {
  118.                       13, 13, 8, 4, 1, 13, 8, 4, 1,
  119.                       8, 4, 1, 4, 1, 8, 4, 1,
  120.                       0, 0, 8, 4, 0, 0, 1, 0 };
  121.     static int off_ticks[] = {
  122.                       19, 19, 14, 10, 7, 19, 14, 10, 7,
  123.                       14, 10, 7, 10, 7, 14, 10, 7,
  124.                       1, 1, 14, 10, 1, 1, 7, 1 };
  125.  
  126. // and that's all the movement data!